import os
import glob
from pdf2docx import Converter


def convert_pdf_to_word(pdf_dir):
    """
    将指定目录下的所有PDF文件转换为Word文件

    参数:
        pdf_dir: 包含PDF文件的目录路径
    """
    # 确保目录路径存在
    if not os.path.exists(pdf_dir):
        print(f"目录 '{pdf_dir}' 不存在!")
        return

    # 获取目录下所有的PDF文件
    pdf_files = glob.glob(os.path.join(pdf_dir, "*.pdf"))

    if not pdf_files:
        print(f"在目录 '{pdf_dir}' 中没有找到PDF文件!")
        return

    print(f"找到 {len(pdf_files)} 个PDF文件，开始转换...")

    # 遍历每个PDF文件并转换
    for pdf_file in pdf_files:
        # 创建同名的docx文件路径
        docx_file = os.path.splitext(pdf_file)[0] + ".docx"

        print(f"正在转换: {os.path.basename(pdf_file)} -> {os.path.basename(docx_file)}")

        try:
            # 创建转换器对象
            cv = Converter(pdf_file)
            # 执行转换
            cv.convert(docx_file)
            # 关闭转换器
            cv.close()
            print(f"转换成功: {os.path.basename(docx_file)}")
        except Exception as e:
            print(f"转换 '{os.path.basename(pdf_file)}' 时出错: {str(e)}")

    print("所有文件转换完成!")


if __name__ == "__main__":
    # 指定包含PDF文件的目录
    pdf_directory = r"D:\PycharmProjects\PythonProject\阳光电源年报"
    convert_pdf_to_word(pdf_directory)